home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1995 August: Tool Chest / Dev.CD Aug 95 TC / Dev.CD Aug 95 TC.toast / Tool Chest / Interfaces / UniversalInterfaces 2.1B1 / AIncludes / Slots.a < prev    next >
Encoding:
Text File  |  1995-04-18  |  19.0 KB  |  926 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        Slots.a
  3. ;
  4. ;    Contains:    Slot Manager Interfaces.
  5. ;
  6. ;    Version:    Technology:    System 7.5
  7. ;                Package:    Universal Interfaces 2.1ß1 in “MPW Prerelease” on ETO #17
  8. ;
  9. ;    Copyright:    © 1984-1995 by Apple Computer, Inc.
  10. ;                All rights reserved.
  11. ;
  12. ;    Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13. ;                stack.  Include the file and version information (from above)
  14. ;                in the problem description and send to:
  15. ;                    Internet:    apple.bugs@applelink.apple.com
  16. ;                    AppleLink:    APPLE.BUGS
  17. ;
  18. ;
  19.  
  20.     IF &TYPE('__SLOTS__') = 'UNDEFINED' THEN
  21. __SLOTS__ SET 1
  22.  
  23.  
  24.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  25.     include 'Types.a'
  26.     ENDIF
  27. ;        include 'ConditionalMacros.a'                                ;
  28.  
  29.     IF &TYPE('__EVENTS__') = 'UNDEFINED' THEN
  30.     include 'Events.a'
  31.     ENDIF
  32. ;        include 'Quickdraw.a'                                        ;
  33. ;            include 'MixedMode.a'                                    ;
  34. ;            include 'QuickdrawText.a'                                ;
  35. ;        include 'OSUtils.a'                                        ;
  36. ;            include 'Memory.a'                                        ;
  37.  
  38.     IF &TYPE('__OSUTILS__') = 'UNDEFINED' THEN
  39.     include 'OSUtils.a'
  40.     ENDIF
  41.  
  42.     IF &TYPE('__FILES__') = 'UNDEFINED' THEN
  43.     include 'Files.a'
  44.     ENDIF
  45.  
  46. fCardIsChanged                    EQU        1                    ;Card is Changed field in StatusFlags field of sInfoArray
  47. fCkForSame                        EQU        0                    ;For SearchSRT. Flag to check for SAME sResource in the table. 
  48. fCkForNext                        EQU        1                    ;For SearchSRT. Flag to check for NEXT sResource in the table. 
  49. fWarmStart                        EQU        2                    ;If this bit is set then warm start else cold start.
  50. stateNil                        EQU        0                    ;State
  51. stateSDMInit                    EQU        1                    ;:Slot declaration manager Init
  52. statePRAMInit                    EQU        2                    ;:sPRAM record init
  53. statePInit                        EQU        3                    ;:Primary init
  54. stateSInit                        EQU        4                    ;:Secondary init
  55. ; flags for spParamData 
  56. fall                            EQU        0                    ; bit 0: set=search enabled/disabled sRsrc's 
  57. foneslot                        EQU        1                    ;    1: set=search sRsrc's in given slot only 
  58. fnext                            EQU        2                    ;    2: set=search for next sRsrc 
  59.  
  60. SlotIntQElement         RECORD    0
  61. sqLink                     ds.l   1        ; offset: $0 (0)        ;ptr to next element
  62. sqType                     ds.w   1        ; offset: $4 (4)        ;queue type ID for validity
  63. sqPrio                     ds.w   1        ; offset: $6 (6)        ;priority
  64. sqAddr                     ds.l   1        ; offset: $8 (8)        ;interrupt service routine
  65. sqParm                     ds.l   1        ; offset: $C (12)        ;optional A1 parameter
  66. sizeof                     EQU *            ; size:   $10 (16)
  67.                         ENDR
  68.  
  69. ; typedef struct SlotIntQElement  SlotIntQElement
  70. ; typedef SlotIntQElement     *SQElemPtr
  71. SpBlock                 RECORD    0
  72. spResult                 ds.l   1        ; offset: $0 (0)        ;FUNCTION Result
  73. spsPointer                 ds.l   1        ; offset: $4 (4)        ;structure pointer
  74. spSize                     ds.l   1        ; offset: $8 (8)        ;size of structure
  75. spOffsetData             ds.l   1        ; offset: $C (12)        ;offset/data field used by sOffsetData
  76. spIOFileName             ds.l   1        ; offset: $10 (16)        ;ptr to IOFile name for sDisDrvrName
  77. spsExecPBlk                 ds.l   1        ; offset: $14 (20)        ;pointer to sExec parameter block.
  78. spParamData                 ds.l   1        ; offset: $18 (24)        ;misc parameter data (formerly spStackPtr).
  79. spMisc                     ds.l   1        ; offset: $1C (28)        ;misc field for SDM.
  80. spReserved                 ds.l   1        ; offset: $20 (32)        ;reserved for future expansion
  81. spIOReserved             ds.w   1        ; offset: $24 (36)        ;Reserved field of Slot Resource Table
  82. spRefNum                 ds.w   1        ; offset: $26 (38)        ;RefNum
  83. spCategory                 ds.w   1        ; offset: $28 (40)        ;sType: Category
  84. spCType                     ds.w   1        ; offset: $2A (42)        ;Type
  85. spDrvrSW                 ds.w   1        ; offset: $2C (44)        ;DrvrSW
  86. spDrvrHW                 ds.w   1        ; offset: $2E (46)        ;DrvrHW
  87. spTBMask                 ds.b   1        ; offset: $30 (48)        ;type bit mask bits 0..3 mask words 0..3
  88. spSlot                     ds.b   1        ; offset: $31 (49)        ;slot number
  89. spID                     ds.b   1        ; offset: $32 (50)        ;structure ID
  90. spExtDev                 ds.b   1        ; offset: $33 (51)        ;ID of the external device
  91. spHwDev                     ds.b   1        ; offset: $34 (52)        ;Id of the hardware device.
  92. spByteLanes                 ds.b   1        ; offset: $35 (53)        ;bytelanes from card ROM format block
  93. spFlags                     ds.b   1        ; offset: $36 (54)        ;standard flags
  94. spKey                     ds.b   1        ; offset: $37 (55)        ;Internal use only
  95. sizeof                     EQU *            ; size:   $38 (56)
  96.                         ENDR
  97.  
  98. ; typedef struct SpBlock     SpBlock
  99. ; typedef SpBlock             *SpBlockPtr
  100. SInfoRecord             RECORD    0
  101. siDirPtr                 ds.l   1        ; offset: $0 (0)        ;Pointer to directory
  102. siInitStatusA             ds.w   1        ; offset: $4 (4)        ;initialization E
  103. siInitStatusV             ds.w   1        ; offset: $6 (6)        ;status returned by vendor init code
  104. siState                     ds.b   1        ; offset: $8 (8)        ;initialization state
  105. siCPUByteLanes             ds.b   1        ; offset: $9 (9)        ;0=[d0..d7] 1=[d8..d15]
  106. siTopOfROM                 ds.b   1        ; offset: $A (10)        ;Top of ROM= $FssFFFFx: x is TopOfROM
  107. siStatusFlags             ds.b   1        ; offset: $B (11)        ;bit 0 - card is changed
  108. siTOConst                 ds.w   1        ; offset: $C (12)        ;Time Out C for BusErr
  109. siReserved                 ds.b   2        ; offset: $E (14)        ;reserved
  110. siROMAddr                 ds.l   1        ; offset: $10 (16)        ; addr of top of ROM 
  111. siSlot                     ds.b   1        ; offset: $14 (20)        ; slot number 
  112. siPadding                 ds.b   3        ; offset: $15 (21)        ; reserved 
  113. sizeof                     EQU *            ; size:   $18 (24)
  114.                         ENDR
  115.  
  116. ; typedef struct SInfoRecord  SInfoRecord
  117. ; typedef SInfoRecord         *SInfoRecPtr
  118. SDMRecord                 RECORD    0
  119. sdBEVSave                 ds.l   1        ; offset: $0 (0)        ;Save old BusErr vector
  120. sdBusErrProc             ds.l   1        ; offset: $4 (4)        ;Go here to determine if it is a BusErr
  121. sdErrorEntry             ds.l   1        ; offset: $8 (8)        ;Go here if BusErrProc finds real BusErr
  122. sdReserved                 ds.l   1        ; offset: $C (12)        ;Reserved
  123. sizeof                     EQU *            ; size:   $10 (16)
  124.                         ENDR
  125.  
  126. ; typedef struct SDMRecord     SDMRecord
  127. FHeaderRec                 RECORD    0
  128. fhDirOffset                 ds.l   1        ; offset: $0 (0)        ;offset to directory
  129. fhLength                 ds.l   1        ; offset: $4 (4)        ;length of ROM
  130. fhCRC                     ds.l   1        ; offset: $8 (8)        ;CRC
  131. fhROMRev                 ds.b   1        ; offset: $C (12)        ;revision of ROM
  132. fhFormat                 ds.b   1        ; offset: $D (13)        ;format - 2
  133. fhTstPat                 ds.l   1        ; offset: $E (14)        ;test pattern
  134. fhReserved                 ds.b   1        ; offset: $12 (18)        ;reserved
  135. fhByteLanes                 ds.b   1        ; offset: $13 (19)        ;ByteLanes
  136. sizeof                     EQU *            ; size:   $14 (20)
  137.                         ENDR
  138.  
  139. ; typedef struct FHeaderRec  FHeaderRec
  140. ; typedef FHeaderRec         *FHeaderRecPtr
  141. SEBlock                 RECORD    0
  142. seSlot                     ds.b   1        ; offset: $0 (0)        ;Slot number.
  143. sesRsrcId                 ds.b   1        ; offset: $1 (1)        ;sResource Id.
  144. seStatus                 ds.w   1        ; offset: $2 (2)        ;Status of code executed by sExec.
  145. seFlags                     ds.b   1        ; offset: $4 (4)        ;Flags
  146. seFiller0                 ds.b   1        ; offset: $5 (5)        ;Filler, must be SignedByte to align on odd boundry
  147. seFiller1                 ds.b   1        ; offset: $6 (6)        ;Filler
  148. seFiller2                 ds.b   1        ; offset: $7 (7)        ;Filler
  149. seResult                 ds.l   1        ; offset: $8 (8)        ;Result of sLoad.
  150. seIOFileName             ds.l   1        ; offset: $C (12)        ;Pointer to IOFile name.
  151. seDevice                 ds.b   1        ; offset: $10 (16)        ;Which device to read from.
  152. sePartition                 ds.b   1        ; offset: $11 (17)        ;The partition.
  153. seOSType                 ds.b   1        ; offset: $12 (18)        ;Type of OS.
  154. seReserved                 ds.b   1        ; offset: $13 (19)        ;Reserved field.
  155. seRefNum                 ds.b   1        ; offset: $14 (20)        ;RefNum of the driver.
  156. seNumDevices             ds.b   1        ; offset: $15 (21)        ; Number of devices to load.
  157. seBootState                 ds.b   1        ; offset: $16 (22)        ;State of StartBoot code.
  158. filler                     ds.b   1        ; offset: $17 (23)
  159. sizeof                     EQU *            ; size:   $18 (24)
  160.                         ENDR
  161.  
  162. ; typedef struct SEBlock     SEBlock
  163. ;  Principle  
  164. ;
  165. ; pascal OSErr SReadByte(SpBlockPtr spBlkPtr)
  166. ;
  167.     IF ¬ GENERATINGCFM THEN
  168.         ; parameters: 
  169.         ;     spBlkPtr          => A0
  170.         ; returns: 
  171.         ;     OSErr             <= D0
  172.         Macro
  173.         _SReadByte
  174.             moveq    #0,d0
  175.             dc.w     $A06E
  176.         EndM
  177.     ELSE
  178.         IMPORT_CFM_FUNCTION    SReadByte
  179.     ENDIF
  180.  
  181. ;
  182. ; pascal OSErr SReadWord(SpBlockPtr spBlkPtr)
  183. ;
  184.     IF ¬ GENERATINGCFM THEN
  185.         ; parameters: 
  186.         ;     spBlkPtr          => A0
  187.         ; returns: 
  188.         ;     OSErr             <= D0
  189.         Macro
  190.         _SReadWord
  191.             moveq    #1,d0
  192.             dc.w     $A06E
  193.         EndM
  194.     ELSE
  195.         IMPORT_CFM_FUNCTION    SReadWord
  196.     ENDIF
  197.  
  198. ;
  199. ; pascal OSErr SReadLong(SpBlockPtr spBlkPtr)
  200. ;
  201.     IF ¬ GENERATINGCFM THEN
  202.         ; parameters: 
  203.         ;     spBlkPtr          => A0
  204.         ; returns: 
  205.         ;     OSErr             <= D0
  206.         Macro
  207.         _SReadLong
  208.             moveq    #2,d0
  209.             dc.w     $A06E
  210.         EndM
  211.     ELSE
  212.         IMPORT_CFM_FUNCTION    SReadLong
  213.     ENDIF
  214.  
  215. ;
  216. ; pascal OSErr SGetCString(SpBlockPtr spBlkPtr)
  217. ;
  218.     IF ¬ GENERATINGCFM THEN
  219.         ; parameters: 
  220.         ;     spBlkPtr          => A0
  221.         ; returns: 
  222.         ;     OSErr             <= D0
  223.         Macro
  224.         _SGetCString
  225.             moveq    #3,d0
  226.             dc.w     $A06E
  227.         EndM
  228.     ELSE
  229.         IMPORT_CFM_FUNCTION    SGetCString
  230.     ENDIF
  231.  
  232. ;
  233. ; pascal OSErr SGetBlock(SpBlockPtr spBlkPtr)
  234. ;
  235.     IF ¬ GENERATINGCFM THEN
  236.         ; parameters: 
  237.         ;     spBlkPtr          => A0
  238.         ; returns: 
  239.         ;     OSErr             <= D0
  240.         Macro
  241.         _SGetBlock
  242.             moveq    #5,d0
  243.             dc.w     $A06E
  244.         EndM
  245.     ELSE
  246.         IMPORT_CFM_FUNCTION    SGetBlock
  247.     ENDIF
  248.  
  249. ;
  250. ; pascal OSErr SFindStruct(SpBlockPtr spBlkPtr)
  251. ;
  252.     IF ¬ GENERATINGCFM THEN
  253.         ; parameters: 
  254.         ;     spBlkPtr          => A0
  255.         ; returns: 
  256.         ;     OSErr             <= D0
  257.         Macro
  258.         _SFindStruct
  259.             moveq    #6,d0
  260.             dc.w     $A06E
  261.         EndM
  262.     ELSE
  263.         IMPORT_CFM_FUNCTION    SFindStruct
  264.     ENDIF
  265.  
  266. ;
  267. ; pascal OSErr SReadStruct(SpBlockPtr spBlkPtr)
  268. ;
  269.     IF ¬ GENERATINGCFM THEN
  270.         ; parameters: 
  271.         ;     spBlkPtr          => A0
  272.         ; returns: 
  273.         ;     OSErr             <= D0
  274.         Macro
  275.         _SReadStruct
  276.             moveq    #7,d0
  277.             dc.w     $A06E
  278.         EndM
  279.     ELSE
  280.         IMPORT_CFM_FUNCTION    SReadStruct
  281.     ENDIF
  282.  
  283. ;  Special  
  284. ;
  285. ; pascal OSErr SReadInfo(SpBlockPtr spBlkPtr)
  286. ;
  287.     IF ¬ GENERATINGCFM THEN
  288.         ; parameters: 
  289.         ;     spBlkPtr          => A0
  290.         ; returns: 
  291.         ;     OSErr             <= D0
  292.         Macro
  293.         _SReadInfo
  294.             moveq    #16,d0
  295.             dc.w     $A06E
  296.         EndM
  297.     ELSE
  298.         IMPORT_CFM_FUNCTION    SReadInfo
  299.     ENDIF
  300.  
  301. ;
  302. ; pascal OSErr SReadPRAMRec(SpBlockPtr spBlkPtr)
  303. ;
  304.     IF ¬ GENERATINGCFM THEN
  305.         ; parameters: 
  306.         ;     spBlkPtr          => A0
  307.         ; returns: 
  308.         ;     OSErr             <= D0
  309.         Macro
  310.         _SReadPRAMRec
  311.             moveq    #17,d0
  312.             dc.w     $A06E
  313.         EndM
  314.     ELSE
  315.         IMPORT_CFM_FUNCTION    SReadPRAMRec
  316.     ENDIF
  317.  
  318. ;
  319. ; pascal OSErr SPutPRAMRec(SpBlockPtr spBlkPtr)
  320. ;
  321.     IF ¬ GENERATINGCFM THEN
  322.         ; parameters: 
  323.         ;     spBlkPtr          => A0
  324.         ; returns: 
  325.         ;     OSErr             <= D0
  326.         Macro
  327.         _SPutPRAMRec
  328.             moveq    #18,d0
  329.             dc.w     $A06E
  330.         EndM
  331.     ELSE
  332.         IMPORT_CFM_FUNCTION    SPutPRAMRec
  333.     ENDIF
  334.  
  335. ;
  336. ; pascal OSErr SReadFHeader(SpBlockPtr spBlkPtr)
  337. ;
  338.     IF ¬ GENERATINGCFM THEN
  339.         ; parameters: 
  340.         ;     spBlkPtr          => A0
  341.         ; returns: 
  342.         ;     OSErr             <= D0
  343.         Macro
  344.         _SReadFHeader
  345.             moveq    #19,d0
  346.             dc.w     $A06E
  347.         EndM
  348.     ELSE
  349.         IMPORT_CFM_FUNCTION    SReadFHeader
  350.     ENDIF
  351.  
  352. ;
  353. ; pascal OSErr SNextSRsrc(SpBlockPtr spBlkPtr)
  354. ;
  355.     IF ¬ GENERATINGCFM THEN
  356.         ; parameters: 
  357.         ;     spBlkPtr          => A0
  358.         ; returns: 
  359.         ;     OSErr             <= D0
  360.         Macro
  361.         _SNextSRsrc
  362.             moveq    #20,d0
  363.             dc.w     $A06E
  364.         EndM
  365.     ELSE
  366.         IMPORT_CFM_FUNCTION    SNextSRsrc
  367.     ENDIF
  368.  
  369. ;
  370. ; pascal OSErr SNextTypeSRsrc(SpBlockPtr spBlkPtr)
  371. ;
  372.     IF ¬ GENERATINGCFM THEN
  373.         ; parameters: 
  374.         ;     spBlkPtr          => A0
  375.         ; returns: 
  376.         ;     OSErr             <= D0
  377.         Macro
  378.         _SNextTypeSRsrc
  379.             moveq    #21,d0
  380.             dc.w     $A06E
  381.         EndM
  382.     ELSE
  383.         IMPORT_CFM_FUNCTION    SNextTypeSRsrc
  384.     ENDIF
  385.  
  386. ;
  387. ; pascal OSErr SRsrcInfo(SpBlockPtr spBlkPtr)
  388. ;
  389.     IF ¬ GENERATINGCFM THEN
  390.         ; parameters: 
  391.         ;     spBlkPtr          => A0
  392.         ; returns: 
  393.         ;     OSErr             <= D0
  394.         Macro
  395.         _SRsrcInfo
  396.             moveq    #22,d0
  397.             dc.w     $A06E
  398.         EndM
  399.     ELSE
  400.         IMPORT_CFM_FUNCTION    SRsrcInfo
  401.     ENDIF
  402.  
  403. ;
  404. ; pascal OSErr SCkCardStat(SpBlockPtr spBlkPtr)
  405. ;
  406.     IF ¬ GENERATINGCFM THEN
  407.         ; parameters: 
  408.         ;     spBlkPtr          => A0
  409.         ; returns: 
  410.         ;     OSErr             <= D0
  411.         Macro
  412.         _SCkCardStat
  413.             moveq    #24,d0
  414.             dc.w     $A06E
  415.         EndM
  416.     ELSE
  417.         IMPORT_CFM_FUNCTION    SCkCardStat
  418.     ENDIF
  419.  
  420. ;
  421. ; pascal OSErr SReadDrvrName(SpBlockPtr spBlkPtr)
  422. ;
  423.     IF ¬ GENERATINGCFM THEN
  424.         ; parameters: 
  425.         ;     spBlkPtr          => A0
  426.         ; returns: 
  427.         ;     OSErr             <= D0
  428.         Macro
  429.         _SReadDrvrName
  430.             moveq    #25,d0
  431.             dc.w     $A06E
  432.         EndM
  433.     ELSE
  434.         IMPORT_CFM_FUNCTION    SReadDrvrName
  435.     ENDIF
  436.  
  437. ;
  438. ; pascal OSErr SFindDevBase(SpBlockPtr spBlkPtr)
  439. ;
  440.     IF ¬ GENERATINGCFM THEN
  441.         ; parameters: 
  442.         ;     spBlkPtr          => A0
  443.         ; returns: 
  444.         ;     OSErr             <= D0
  445.         Macro
  446.         _SFindDevBase
  447.             moveq    #27,d0
  448.             dc.w     $A06E
  449.         EndM
  450.     ELSE
  451.         IMPORT_CFM_FUNCTION    SFindDevBase
  452.     ENDIF
  453.  
  454. ;
  455. ; pascal OSErr SFindBigDevBase(SpBlockPtr spBlkPtr)
  456. ;
  457.     IF ¬ GENERATINGCFM THEN
  458.         ; parameters: 
  459.         ;     spBlkPtr          => A0
  460.         ; returns: 
  461.         ;     OSErr             <= D0
  462.         Macro
  463.         _SFindBigDevBase
  464.             moveq    #28,d0
  465.             dc.w     $A06E
  466.         EndM
  467.     ELSE
  468.         IMPORT_CFM_FUNCTION    SFindBigDevBase
  469.     ENDIF
  470.  
  471. ;  Advanced  
  472. ;
  473. ; pascal OSErr InitSDeclMgr(SpBlockPtr spBlkPtr)
  474. ;
  475.     IF ¬ GENERATINGCFM THEN
  476.         ; parameters: 
  477.         ;     spBlkPtr          => A0
  478.         ; returns: 
  479.         ;     OSErr             <= D0
  480.         Macro
  481.         _InitSDeclMgr
  482.             moveq    #32,d0
  483.             dc.w     $A06E
  484.         EndM
  485.     ELSE
  486.         IMPORT_CFM_FUNCTION    InitSDeclMgr
  487.     ENDIF
  488.  
  489. ;
  490. ; pascal OSErr SPrimaryInit(SpBlockPtr spBlkPtr)
  491. ;
  492.     IF ¬ GENERATINGCFM THEN
  493.         ; parameters: 
  494.         ;     spBlkPtr          => A0
  495.         ; returns: 
  496.         ;     OSErr             <= D0
  497.         Macro
  498.         _SPrimaryInit
  499.             moveq    #33,d0
  500.             dc.w     $A06E
  501.         EndM
  502.     ELSE
  503.         IMPORT_CFM_FUNCTION    SPrimaryInit
  504.     ENDIF
  505.  
  506. ;
  507. ; pascal OSErr SCardChanged(SpBlockPtr spBlkPtr)
  508. ;
  509.     IF ¬ GENERATINGCFM THEN
  510.         ; parameters: 
  511.         ;     spBlkPtr          => A0
  512.         ; returns: 
  513.         ;     OSErr             <= D0
  514.         Macro
  515.         _SCardChanged
  516.             moveq    #34,d0
  517.             dc.w     $A06E
  518.         EndM
  519.     ELSE
  520.         IMPORT_CFM_FUNCTION    SCardChanged
  521.     ENDIF
  522.  
  523. ;
  524. ; pascal OSErr SExec(SpBlockPtr spBlkPtr)
  525. ;
  526.     IF ¬ GENERATINGCFM THEN
  527.         ; parameters: 
  528.         ;     spBlkPtr          => A0
  529.         ; returns: 
  530.         ;     OSErr             <= D0
  531.         Macro
  532.         _SExec
  533.             moveq    #35,d0
  534.             dc.w     $A06E
  535.         EndM
  536.     ELSE
  537.         IMPORT_CFM_FUNCTION    SExec
  538.     ENDIF
  539.  
  540. ;
  541. ; pascal OSErr SOffsetData(SpBlockPtr spBlkPtr)
  542. ;
  543.     IF ¬ GENERATINGCFM THEN
  544.         ; parameters: 
  545.         ;     spBlkPtr          => A0
  546.         ; returns: 
  547.         ;     OSErr             <= D0
  548.         Macro
  549.         _SOffsetData
  550.             moveq    #36,d0
  551.             dc.w     $A06E
  552.         EndM
  553.     ELSE
  554.         IMPORT_CFM_FUNCTION    SOffsetData
  555.     ENDIF
  556.  
  557. ;
  558. ; pascal OSErr SInitPRAMRecs(SpBlockPtr spBlkPtr)
  559. ;
  560.     IF ¬ GENERATINGCFM THEN
  561.         ; parameters: 
  562.         ;     spBlkPtr          => A0
  563.         ; returns: 
  564.         ;     OSErr             <= D0
  565.         Macro
  566.         _SInitPRAMRecs
  567.             moveq    #37,d0
  568.             dc.w     $A06E
  569.         EndM
  570.     ELSE
  571.         IMPORT_CFM_FUNCTION    SInitPRAMRecs
  572.     ENDIF
  573.  
  574. ;
  575. ; pascal OSErr SReadPBSize(SpBlockPtr spBlkPtr)
  576. ;
  577.     IF ¬ GENERATINGCFM THEN
  578.         ; parameters: 
  579.         ;     spBlkPtr          => A0
  580.         ; returns: 
  581.         ;     OSErr             <= D0
  582.         Macro
  583.         _SReadPBSize
  584.             moveq    #38,d0
  585.             dc.w     $A06E
  586.         EndM
  587.     ELSE
  588.         IMPORT_CFM_FUNCTION    SReadPBSize
  589.     ENDIF
  590.  
  591. ;
  592. ; pascal OSErr SCalcStep(SpBlockPtr spBlkPtr)
  593. ;
  594.     IF ¬ GENERATINGCFM THEN
  595.         ; parameters: 
  596.         ;     spBlkPtr          => A0
  597.         ; returns: 
  598.         ;     OSErr             <= D0
  599.         Macro
  600.         _SCalcStep
  601.             moveq    #40,d0
  602.             dc.w     $A06E
  603.         EndM
  604.     ELSE
  605.         IMPORT_CFM_FUNCTION    SCalcStep
  606.     ENDIF
  607.  
  608. ;
  609. ; pascal OSErr SInitSRsrcTable(SpBlockPtr spBlkPtr)
  610. ;
  611.     IF ¬ GENERATINGCFM THEN
  612.         ; parameters: 
  613.         ;     spBlkPtr          => A0
  614.         ; returns: 
  615.         ;     OSErr             <= D0
  616.         Macro
  617.         _SInitSRsrcTable
  618.             moveq    #41,d0
  619.             dc.w     $A06E
  620.         EndM
  621.     ELSE
  622.         IMPORT_CFM_FUNCTION    SInitSRsrcTable
  623.     ENDIF
  624.  
  625. ;
  626. ; pascal OSErr SSearchSRT(SpBlockPtr spBlkPtr)
  627. ;
  628.     IF ¬ GENERATINGCFM THEN
  629.         ; parameters: 
  630.         ;     spBlkPtr          => A0
  631.         ; returns: 
  632.         ;     OSErr             <= D0
  633.         Macro
  634.         _SSearchSRT
  635.             moveq    #42,d0
  636.             dc.w     $A06E
  637.         EndM
  638.     ELSE
  639.         IMPORT_CFM_FUNCTION    SSearchSRT
  640.     ENDIF
  641.  
  642. ;
  643. ; pascal OSErr SUpdateSRT(SpBlockPtr spBlkPtr)
  644. ;
  645.     IF ¬ GENERATINGCFM THEN
  646.         ; parameters: 
  647.         ;     spBlkPtr          => A0
  648.         ; returns: 
  649.         ;     OSErr             <= D0
  650.         Macro
  651.         _SUpdateSRT
  652.             moveq    #43,d0
  653.             dc.w     $A06E
  654.         EndM
  655.     ELSE
  656.         IMPORT_CFM_FUNCTION    SUpdateSRT
  657.     ENDIF
  658.  
  659. ;
  660. ; pascal OSErr SCalcSPointer(SpBlockPtr spBlkPtr)
  661. ;
  662.     IF ¬ GENERATINGCFM THEN
  663.         ; parameters: 
  664.         ;     spBlkPtr          => A0
  665.         ; returns: 
  666.         ;     OSErr             <= D0
  667.         Macro
  668.         _SCalcSPointer
  669.             moveq    #44,d0
  670.             dc.w     $A06E
  671.         EndM
  672.     ELSE
  673.         IMPORT_CFM_FUNCTION    SCalcSPointer
  674.     ENDIF
  675.  
  676. ;
  677. ; pascal OSErr SGetDriver(SpBlockPtr spBlkPtr)
  678. ;
  679.     IF ¬ GENERATINGCFM THEN
  680.         ; parameters: 
  681.         ;     spBlkPtr          => A0
  682.         ; returns: 
  683.         ;     OSErr             <= D0
  684.         Macro
  685.         _SGetDriver
  686.             moveq    #45,d0
  687.             dc.w     $A06E
  688.         EndM
  689.     ELSE
  690.         IMPORT_CFM_FUNCTION    SGetDriver
  691.     ENDIF
  692.  
  693. ;
  694. ; pascal OSErr SPtrToSlot(SpBlockPtr spBlkPtr)
  695. ;
  696.     IF ¬ GENERATINGCFM THEN
  697.         ; parameters: 
  698.         ;     spBlkPtr          => A0
  699.         ; returns: 
  700.         ;     OSErr             <= D0
  701.         Macro
  702.         _SPtrToSlot
  703.             moveq    #46,d0
  704.             dc.w     $A06E
  705.         EndM
  706.     ELSE
  707.         IMPORT_CFM_FUNCTION    SPtrToSlot
  708.     ENDIF
  709.  
  710. ;
  711. ; pascal OSErr SFindSInfoRecPtr(SpBlockPtr spBlkPtr)
  712. ;
  713.     IF ¬ GENERATINGCFM THEN
  714.         ; parameters: 
  715.         ;     spBlkPtr          => A0
  716.         ; returns: 
  717.         ;     OSErr             <= D0
  718.         Macro
  719.         _SFindSInfoRecPtr
  720.             moveq    #47,d0
  721.             dc.w     $A06E
  722.         EndM
  723.     ELSE
  724.         IMPORT_CFM_FUNCTION    SFindSInfoRecPtr
  725.     ENDIF
  726.  
  727. ;
  728. ; pascal OSErr SFindSRsrcPtr(SpBlockPtr spBlkPtr)
  729. ;
  730.     IF ¬ GENERATINGCFM THEN
  731.         ; parameters: 
  732.         ;     spBlkPtr          => A0
  733.         ; returns: 
  734.         ;     OSErr             <= D0
  735.         Macro
  736.         _SFindSRsrcPtr
  737.             moveq    #48,d0
  738.             dc.w     $A06E
  739.         EndM
  740.     ELSE
  741.         IMPORT_CFM_FUNCTION    SFindSRsrcPtr
  742.     ENDIF
  743.  
  744. ;
  745. ; pascal OSErr SDeleteSRTRec(SpBlockPtr spBlkPtr)
  746. ;
  747.     IF ¬ GENERATINGCFM THEN
  748.         ; parameters: 
  749.         ;     spBlkPtr          => A0
  750.         ; returns: 
  751.         ;     OSErr             <= D0
  752.         Macro
  753.         _SDeleteSRTRec
  754.             moveq    #49,d0
  755.             dc.w     $A06E
  756.         EndM
  757.     ELSE
  758.         IMPORT_CFM_FUNCTION    SDeleteSRTRec
  759.     ENDIF
  760.  
  761. ;
  762. ; pascal OSErr OpenSlot(ParmBlkPtr paramBlock, Boolean async)
  763. ;
  764.     IF GENERATINGCFM THEN
  765.         IMPORT_CFM_FUNCTION    OpenSlot
  766.     ENDIF
  767.  
  768. ;
  769. ; pascal OSErr OpenSlotSync(ParmBlkPtr paramBlock)
  770. ;
  771.     IF ¬ GENERATINGCFM THEN
  772.         ; parameters: 
  773.         ;     paramBlock        => A0
  774.         ; returns: 
  775.         ;     OSErr             <= D0
  776.         _OpenSlotSync:    OPWORD    $A200
  777.     ELSE
  778.         IMPORT_CFM_FUNCTION    OpenSlotSync
  779.     ENDIF
  780.  
  781. ;
  782. ; pascal OSErr OpenSlotAsync(ParmBlkPtr paramBlock)
  783. ;
  784.     IF ¬ GENERATINGCFM THEN
  785.         ; parameters: 
  786.         ;     paramBlock        => A0
  787.         ; returns: 
  788.         ;     OSErr             <= D0
  789.         _OpenSlotAsync:    OPWORD    $A600
  790.     ELSE
  791.         IMPORT_CFM_FUNCTION    OpenSlotAsync
  792.     ENDIF
  793.  
  794. ;  Device Manager Slot Support  
  795. ;
  796. ; pascal OSErr SIntInstall(SQElemPtr sIntQElemPtr, short theSlot)
  797. ;
  798.     IF ¬ GENERATINGCFM THEN
  799.         ; parameters: 
  800.         ;     sIntQElemPtr      => A0
  801.         ;     theSlot           => D0
  802.         ; returns: 
  803.         ;     OSErr             <= D0
  804.         _SIntInstall:    OPWORD    $A075
  805.     ELSE
  806.         IMPORT_CFM_FUNCTION    SIntInstall
  807.     ENDIF
  808.  
  809. ;
  810. ; pascal OSErr SIntRemove(SQElemPtr sIntQElemPtr, short theSlot)
  811. ;
  812.     IF ¬ GENERATINGCFM THEN
  813.         ; parameters: 
  814.         ;     sIntQElemPtr      => A0
  815.         ;     theSlot           => D0
  816.         ; returns: 
  817.         ;     OSErr             <= D0
  818.         _SIntRemove:    OPWORD    $A076
  819.     ELSE
  820.         IMPORT_CFM_FUNCTION    SIntRemove
  821.     ENDIF
  822.  
  823. ;
  824. ; pascal OSErr SVersion(SpBlockPtr spBlkPtr)
  825. ;
  826.     IF ¬ GENERATINGCFM THEN
  827.         ; parameters: 
  828.         ;     spBlkPtr          => A0
  829.         ; returns: 
  830.         ;     OSErr             <= D0
  831.         Macro
  832.         _SVersion
  833.             moveq    #8,d0
  834.             dc.w     $A06E
  835.         EndM
  836.     ELSE
  837.         IMPORT_CFM_FUNCTION    SVersion
  838.     ENDIF
  839.  
  840. ;
  841. ; pascal OSErr SetSRsrcState(SpBlockPtr spBlkPtr)
  842. ;
  843.     IF ¬ GENERATINGCFM THEN
  844.         ; parameters: 
  845.         ;     spBlkPtr          => A0
  846.         ; returns: 
  847.         ;     OSErr             <= D0
  848.         Macro
  849.         _SetSRsrcState
  850.             moveq    #9,d0
  851.             dc.w     $A06E
  852.         EndM
  853.     ELSE
  854.         IMPORT_CFM_FUNCTION    SetSRsrcState
  855.     ENDIF
  856.  
  857. ;
  858. ; pascal OSErr InsertSRTRec(SpBlockPtr spBlkPtr)
  859. ;
  860.     IF ¬ GENERATINGCFM THEN
  861.         ; parameters: 
  862.         ;     spBlkPtr          => A0
  863.         ; returns: 
  864.         ;     OSErr             <= D0
  865.         Macro
  866.         _InsertSRTRec
  867.             moveq    #10,d0
  868.             dc.w     $A06E
  869.         EndM
  870.     ELSE
  871.         IMPORT_CFM_FUNCTION    InsertSRTRec
  872.     ENDIF
  873.  
  874. ;
  875. ; pascal OSErr SGetSRsrc(SpBlockPtr spBlkPtr)
  876. ;
  877.     IF ¬ GENERATINGCFM THEN
  878.         ; parameters: 
  879.         ;     spBlkPtr          => A0
  880.         ; returns: 
  881.         ;     OSErr             <= D0
  882.         Macro
  883.         _SGetSRsrc
  884.             moveq    #11,d0
  885.             dc.w     $A06E
  886.         EndM
  887.     ELSE
  888.         IMPORT_CFM_FUNCTION    SGetSRsrc
  889.     ENDIF
  890.  
  891. ;
  892. ; pascal OSErr SGetTypeSRsrc(SpBlockPtr spBlkPtr)
  893. ;
  894.     IF ¬ GENERATINGCFM THEN
  895.         ; parameters: 
  896.         ;     spBlkPtr          => A0
  897.         ; returns: 
  898.         ;     OSErr             <= D0
  899.         Macro
  900.         _SGetTypeSRsrc
  901.             moveq    #12,d0
  902.             dc.w     $A06E
  903.         EndM
  904.     ELSE
  905.         IMPORT_CFM_FUNCTION    SGetTypeSRsrc
  906.     ENDIF
  907.  
  908. ;
  909. ; pascal OSErr SGetSRsrcPtr(SpBlockPtr spBlkPtr)
  910. ;
  911.     IF ¬ GENERATINGCFM THEN
  912.         ; parameters: 
  913.         ;     spBlkPtr          => A0
  914.         ; returns: 
  915.         ;     OSErr             <= D0
  916.         Macro
  917.         _SGetSRsrcPtr
  918.             moveq    #29,d0
  919.             dc.w     $A06E
  920.         EndM
  921.     ELSE
  922.         IMPORT_CFM_FUNCTION    SGetSRsrcPtr
  923.     ENDIF
  924.  
  925.     ENDIF ; __SLOTS__
  926.